home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / printing / prntstat / demo.txt next >
Text File  |  1995-10-18  |  4KB  |  73 lines

  1.           DEMO.TXT for Printer Status Demo Ver 1.0 
  2.           Copyright(c) by Gregory H.Bragg
  3.                           October, 1995
  4.  
  5. The Printer Status Demo consists of two files, PRINTSTT.EXE and PRNTSTAT.DLL.
  6. The demo calling application, PRINTSTT.EXE, was written in Visual Basic Ver 3.0
  7. and the file that does all the work, PRNTSTAT.DLL, was written in Borland C++ 
  8. Ver 4.5. The demo DLL is not crippled in any way other than the beg screens
  9. displayed at the beginning and at the end of program execution.
  10.  
  11. PRNTSTAT.DLL can be placed in the application directory, the Windows directory
  12. or in the Windows\System directory... although the latter is the preferred 
  13. location. When the demo is first started it searches WIN.INI for the location 
  14. of the default installed printer. From this info it is then able to check the 
  15. status of the printer by accessing PRNTSTAT.DLL.  
  16.  
  17. The seven functions in PRNTSTAT.DLL call a General 8086 software interrupt to 
  18. retrieve six status bits relating to the current printer status. Being a 
  19. low level function call it would be impossible to duplicate this using VB 3.0. 
  20. Although the main code that calls the interrupt is 16 bits it is fully compatible 
  21. with Windows 3.1, Windows 3.11 and Windows 95. Use with Windows NT is unknown 
  22. and untested but I would be interested in any information regarding the demo 
  23. used in this OS as I don't have access to Windows NT. I have written VB 3.0 
  24. applications while using Windows 3.1 and Windows 95 that access PRNTSTAT.DLL 
  25. with no problems.
  26.  
  27. To access PRNTSTAT.DLL in Visual Basic, place the following declarations into 
  28. any code module...
  29.  
  30.     Declare Function GetTimeoutStatus Lib "PRNTSTAT.DLL" (ByVal PortNo As Integer) As Integer
  31.     Declare Function GetPaperStatus Lib "PRNTSTAT.DLL" (ByVal PortNo As Integer) As Integer
  32.     Declare Function GetOnlineStatus Lib "PRNTSTAT.DLL" (ByVal PortNo As Integer) As Integer
  33.     Declare Function GetErrorStatus Lib "PRNTSTAT.DLL" (ByVal PortNo As Integer) As Integer
  34.     Declare Function GetBusyStatus Lib "PRNTSTAT.DLL" (ByVal PortNo As Integer) As Integer
  35.     Declare Function GetAcknowledgeStatus Lib "PRNTSTAT.DLL" (ByVal PortNo As Integer) As Integer
  36.     Declare Function GetReadyStatus Lib "PRNTSTAT.DLL" (ByVal PortNo As Integer) As Integer
  37.  
  38.     Where "PortNo" is the number of the port that the printer to be checked is
  39.     connected to, ie. 1 (as in LPT:1).
  40.  
  41.     The integer returns from each function are 0, 1 and the default 9, 
  42.     (printer not available). Depending on the function type, the return value 
  43.     will relate to the current printer status when the function is called.
  44.  
  45.     See the example VB code for the Printer Status Demo. It is heavily commented
  46.     and will get you started in accessing PRNTSTAT.DLL. You are allowed to copy,
  47.     modify or paste any of this code into your own projects to access PRNTSTAT.DLL.
  48.  
  49. The function prototypes for C or C++ are as follows:
  50.  
  51.     int FAR PASCAL GetTimeoutStatus(unsigned portid); 
  52.     int FAR PASCAL GetPaperStatus(unsigned portid);
  53.     int FAR PASCAL GetOnlineStatus(unsigned portid);
  54.     int FAR PASCAL GetErrorStatus(unsigned portid);
  55.     int FAR PASCAL GetBusyStatus(unsigned portid);
  56.     int FAR PASCAL GetAcknowledgeStatus(unsigned portid);
  57.     int FAR PASCAL GetReadyStatus(unsigned portid);
  58.  
  59. PRNTSTAT.DLL can also be used with other programming environments with a 
  60. minimum modification of calling convention. It is very simple to access 
  61. the dll in any programming language.
  62.  
  63. For any comments, problems or suggestions please E-Mail me at 75027,2674 or read 
  64. the README.TXT file for more contact info. 
  65.  
  66. Gregory Bragg
  67. October 17, 1995
  68.  
  69. Windows 3.1, Windows 3.11, Windows 95, Windows NT and Visual Basic 3.0 are 
  70. Copyrights and Trademarks of Microsoft Corporation.
  71.  
  72. Borland C++ 4.5 is Copyright and Trademark of Borland International.
  73.